/*
  学习目标：泛型工具-Pick和Omit
  作用: Pick 从一个对象类型中, 挑选一部分键, 组成新的对象类型
  作用: Omit 从一个对象类型中, 删掉一部分键, 剩下的键组成新的对象类型
  语法:
    Pick<你的类型, 要挑选出来的键名组成的联合字面类型>
    Omit<你的类型, 要删掉的键名组成的联合字面类型>
*/

type MyConfig = {
  baseUrl: string;
  cdn1: string;
  cdn2: string;
};

const config: Pick<MyConfig, 'baseUrl' | 'cdn1'> = {
  baseUrl: 'xxx',
  cdn1: 'xxx',
};

const config2: Pick<MyConfig, 'cdn2' | 'cdn1'> = {
  cdn1: 'xxx',
  cdn2: 'yyy',
};

const config3: Omit<MyConfig, 'cdn2' | 'cdn1'> = {
  baseUrl: 'xxx',
};

const config4: Omit<MyConfig, 'baseUrl'> = {
  cdn1: 'xxx',
  cdn2: '',
};
